<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>根据用户选择计算两个数的结果</title>
</head>

<body>
    <script>
        while (true) {
            var ch = prompt('请您选择+-*/，如果输入q，则退出结束程序')
            if (ch == 'q') {
                alert('您输入了q，退出结束程序')
                break
            }
            var chs = ['+', '-', '*', '/']
            var ok = false
            for (i = 0; i < 4; i++)
                if (ch == chs[i]) {
                    ok = true
                    break
                }
            if (ok) {
                function NotANum(num) {
                    if (isNaN(num) || num === '') {
                        alert('您的输入包含非数字，请您重新输入')
                        if (isNaN(num = Number(prompt('重新输入'))) || num === '') {
                            alert('您的输入第二次包含非数字，自动转换为零')
                            return 0
                        }
                        return num
                    }
                    return num
                }
                var num1 = Number(prompt('请输入第一个数字'))
                num1 = NotANum(num1)
                var num2 = Number(prompt('请输入第二个数字'))
                num2 = NotANum(num2)
                var f = s => '您计算求' + s + '和结果是：'
                var result = {
                    '0': function () { alert(f('加') + (num1 + num2)) },
                    '1': function () { alert(f('减') + (num1 - num2)) },
                    '2': function () { alert(f('乘') + (num1 * num2)) },
                    '3': function () { alert(f('除') + (num1 / num2)) }
                }
                result[i]()
            }
            else
                if (prompt('输入有误，输入Run继续') != 'Run')
                    break
        }
        document.write('end');
    </script>
</body>

</html>